1. Field of the Invention
The present invention relates to a technique for processing an encoder signal indicating a phase change of a position or angle of a target.
2. Description of the Related Art
In general, an optical rotary encoder is popularly used to detect a moving amount, angle, position, and the like of a rotation member of a motor or the like. A rotary encoder of this type irradiates a rotation signal screen provided with a required signal pattern with uniform light from a light-emitting element including a light-emitting diode (LED) or the like from one side. Then, a light-receiving element such as a photodiode or phototransistor receives and detects transmission light which has transmitted through the signal pattern or reflected light from the signal screen, thus forming an electric signal pattern. An encoder output signal is generated based on the electric signal pattern. As functional segmentations of the encoder, an incremental type and absolute type are known.
In an incremental encoder, a technique for attaining high-precision position detection by interpolation processing (electric division) is known. This technique is premised on that amplitudes of encoder signals and offset values are uniform, and analog sine wave signals of two phases having a 90° phase difference are output. For this reason, the interpolation processing is often executed after the output signals from the encoder are corrected to approach the premises.
As a practical interpolation processing method, a resistance division method disclosed in Japanese Patent Laid-Open No. 02-138819 (patent literature 1) and an arctangent (arctan) calculation method disclosed in Japanese Patent Laid-Open No. 06-58769 (patent literature 2) are known. On the other hand, Japanese Patent Laid-Open No. 2006-112862 (patent literature 3) discloses a method of correcting encoder output signals by detecting errors from an ideal Lissajous waveform included in Lissajous waveforms of two-phase analog signals.
However, actual encoder output signals include harmonic components and nonlinear components, and are not ideal sine wave signals. For this reason, even when errors of amplitudes, offsets, and phases of the encoder output signals are corrected, the corrected signals are not strict sine wave signals, and detection errors are generated upon execution of the interpolation processing. Hence, Japanese Patent Laid-Open No. 2009-303358 (patent literature 4) discloses a method of generating values obtained by differentiating detected displacement amounts (detected angles) of the encoder, that is, correction values that make displacement velocities constant.
However, for example, the method disclosed in patent literature 4 allows to calculate correction values in only a constant velocity driving area. For this reason, in order to calculate suitable correction values, driving control of a target (motor or the like) is required to be executed using a high-precision motor and external driving device having high velocity stability to cause the encoder to detect displacements. For this reason, when a motor having low velocity stability is used, suitable correction values cannot be calculated during normal driving with a velocity change.